home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 008a / paragen2.zip / DEMOINV.MAK < prev    next >
Text File  |  1991-03-28  |  5KB  |  152 lines

  1. # ------------------------------------------------------------------------
  2. #                PARAGEN.EXE 
  3. # ------------------------------------------------------------------------
  4. # Written 3/3/91 MGM for DOS version of VIDLIB.  Uses BORLAND C++ compiler
  5. # Uses new TURBO make facility 3.0,4.0
  6. # Turbo C 2.0 users will have to add PXENGTC2.LIb to the link line below
  7. # (line 127)    
  8. #
  9. # SYNTAX: Just type MAKE -fVIDLIB.MAK (it must be Turbo 3.0 or 4.0 make.exe)
  10. #      The makefile must be named VIDLIB.MAK
  11. #
  12. # This make file creates a sub-dir based on the MODEL
  13. # defined below.  All of the OBJ's will end up in this
  14. # directory.  The executable will get built in the
  15. # current directory.  This was done to keep memory
  16. # model specific code in one directory and to keep
  17. # those same OBJ's from cluttering the source directory.
  18. # When you run this make file make sure the file
  19. # MAKEDIR.COM is present somewhere in your path.  This is
  20. # a replacement for the DOS mkdir command.  Since mkdir 
  21. # returned an error if the directory already existed, I wrote
  22. # my own.  You can replace makedir with md in the DIR macro
  23. # below.
  24. #
  25. # ------------------------------------------------------------------------
  26.  
  27. # ------------------------------------------------------------------------
  28. #                        PRODUCTION OPTIONS 
  29. # ------------------------------------------------------------------------
  30. #
  31. #  -G -- Generate code for speed
  32. #  -Z -- Optimize register usage
  33. #  -w -- Invoke highest warning check
  34. #  -N -- Check stack overflow
  35. #  -c -- Compile the code only
  36. #  -O -- Optimize jumps
  37. #  -d -- Merge duplcate strings
  38. #  -j -- Stop after 10 errors
  39. #  -g -- Stop after 10 warnings
  40. #
  41. #  /c -- Tells linker case is significant in symbols
  42. #
  43. # ------------------------------------------------------------------------
  44.  
  45. #COPTS=-G -Z -w -N -c -O    -d -j10 -g10
  46. #EXEOPTS=/c
  47.  
  48. # ------------------------------------------------------------------------
  49. #                       DEBUGGING OPTIONS 
  50. # ------------------------------------------------------------------------
  51. #  -G -- Generate code for speed
  52. #  -Z -- Optimize register usage
  53. #  -w -- Invoke highest warning check
  54. #  -N -- Check stack overflow
  55. #  -c -- Compile the code only
  56. #  -O -- Optimize jumps
  57. #  -d -- Merge duplcate strings
  58. #  -j -- Stop after 10 errors
  59. #  -g -- Stop after 10 warnings
  60. #  -v -- Source level debugging 
  61. #  -y -- Produce line number info
  62. #
  63. #  /c -- Tells linker case is significant in symbols
  64. #  /v -- Tells linker to include full symbolic info
  65. #  /l -- Tells linker to include source line numbers
  66. # ------------------------------------------------------------------------
  67.  
  68. COPTS=-G -Z -w -N -c -O -d -j10 -g10 
  69. EXEOPTS=/c /v
  70.  
  71. # ------------------------------------------------------------------------
  72. #          Paradox ENGINE and TURBO C++ information 
  73. # ------------------------------------------------------------------------
  74. #
  75. # INCLUDE -- All include directories the application needs (including TC)
  76. # LIBS    -- All library directories the appliaction needs (except TC)
  77. # TCLIB   -- Turbo-C library directory
  78. #
  79. # NOTE:     If no model is specified the default is LARGE
  80. #
  81. # ------------------------------------------------------------------------
  82.  
  83. INCLUDE=g:\bcc\include;l:\paradox3\eng20\c
  84. LIBS=l:\paradox3\eng20\c
  85. TCLIB=g:\bcc\lib
  86. !if !$d(MODEL)
  87. MODEL=l
  88. !endif
  89.  
  90. # ------------------------------------------------------------------------
  91. #                   NEW MAKE 3.0 extended features
  92. # ------------------------------------------------------------------------
  93. #
  94. #  SWAP - Turns EMS swapping on
  95. #  PATH.obj - Where to find the OBJS (sub-dir named by MODEL)
  96. #  PATH.lib - Where to find the libraries for linking
  97.  
  98. .SWAP
  99. .PATH.obj=$(MODEL)
  100. .PATH.lib=$(LIBS)
  101.  
  102. # ------------------------------------------------------------------------
  103. #            Implicit rule for the compiler option
  104. # ------------------------------------------------------------------------
  105.  
  106. .c.obj :
  107.     bcc -I$(INCLUDE) -n$(MODEL) -m$(MODEL) $(COPTS) {$< }
  108.  
  109. # ------------------------------------------------------------------------
  110. #                How we build the Executable
  111. # ------------------------------------------------------------------------
  112. #
  113. #  Declare a bogus target, then declare three dependencies
  114. #  (1) To create the directory using replacement MKDIR (makedir.com)
  115. #  (2) To build the actual EXE
  116. #  {3) This makefile is always a dependency
  117. #
  118. # ------------------------------------------------------------------------
  119.  
  120. fred : DIR demoinv.exe demoinv.mak
  121.  
  122. demoinv.exe : demoinv.obj invoice.obj
  123.     tlink $(EXEOPTS) -lP @&&!
  124. $(TCLIB)\c0$(MODEL)+
  125. $(MODEL)\demoinv+
  126. $(MODEL)\invoice,+
  127. demoinv,NUL, $(LIBS)\pxengtc$(MODEL) $(TCLIB)\emu $(TCLIB)\math$(MODEL) $(TCLIB)\c$(MODEL)
  128. !
  129.  
  130.  
  131. # ------------------------------------------------------------------------
  132. #                Dependencies for the C files
  133. # ------------------------------------------------------------------------
  134.  
  135. demoinv.obj:    invoice.h
  136.  
  137. invoice.obj:    invoice.h
  138.  
  139. # ------------------------------------------------------------------------
  140. #              Create seperate Directory based on MODEL
  141. # ------------------------------------------------------------------------
  142. #
  143. #  Can also use DOS md command but an error message will
  144. #  show up on the screen.  This does not stop processing.
  145. #
  146. # ------------------------------------------------------------------------
  147.  
  148. DIR :
  149.     makedir $(MODEL)
  150.  
  151.  
  152.